package com.dq.Week2.day09.dict;

public class EnglishWord {

        public static void main(String[] args) {
            String input = "aaabbbccddeee";
            String output = removeDuplicates(input);
            System.out.println(output); // 输出：abcde
        }

        public static String removeDuplicates(String input) {
            //在字符串中，$1 本身没有特殊的内建含义。但在某些上下文中，它可能被用作一个占位符或引用。
            //正则表达式替换：在正则表达式的替换操作中，$1、$2 等经常被用作引用前面捕获的分组。
            // 但在Java中，这种替换通常使用 Matcher 类的 appendReplacement 和 appendTail 方法来完成，或者使用 String 类的 replaceAll 方法，
            // 其中使用 $1、$2 等来引用捕获的分组。但在直接使用字符串时，$1 并不会自动被替换为任何内容。

            // 使用正则表达式匹配连续的两个或更多相同的字符，并用一个该字符替换它们
            String regex = "(.)\\1+";
            return input.replaceAll(regex, "$1");
        }

}
